From efece054c050caaeeb5a2ef4a2c2f8d952d7ba68 Mon Sep 17 00:00:00 2001 From: "kaf24@labyrinth.cl.cam.ac.uk" Date: Sun, 19 Jan 2003 16:05:41 +0000 Subject: [PATCH] bitkeeper revision 1.15.1.6 (3e2accd5ZlgmUafxBwWpk2RkxT-TtQ) dev.c: Fix network transmit refcnt bug. --- xen-2.4.16/net/dev.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/xen-2.4.16/net/dev.c b/xen-2.4.16/net/dev.c index 449879a1a3..b99a2e91b4 100644 --- a/xen-2.4.16/net/dev.c +++ b/xen-2.4.16/net/dev.c @@ -1977,21 +1977,17 @@ long do_net_update(void) if ( skb != NULL ) { - skb_get(skb); /* get a reference for non-local delivery */ skb->protocol = eth_type_trans(skb, skb->dev); skb->src_vif = current_vif->id; net_get_target_vif(skb); if ( skb->dst_vif > VIF_PHYSICAL_INTERFACE ) { - if (netif_rx(skb) == 0) - /* Give up non-local reference. Packet delivered locally. */ - kfree_skb(skb); + (void)netif_rx(skb); } else if ( skb->dst_vif == VIF_PHYSICAL_INTERFACE ) { - - skb_push(skb, skb->dev->hard_header_len); - dev_queue_xmit(skb); + skb_push(skb, skb->dev->hard_header_len); + dev_queue_xmit(skb); } else { -- 2.30.2